package com.liuqi.aiagent.mapper;

import com.liuqi.aiagent.transfer.entity.AgentEvent;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * @author liuqi
 * @date 2025/7/17
 **/
@Repository
@Mapper
public interface AgentEventMapper {

    /**
     * 查询 status = 0, 未处理的事件
     *
     * @param agentId
     * @return
     */
    List<String> findMessages(int agentId);

    /**
     * 更新状态为 1
     *
     * @param agentId
     * @return
     */
    int updateStatus(int agentId);

    int saveBatch(List<AgentEvent> agentEvents);

    /**
     * 通过模型ID查找关联的AgentId
     *
     * @param modelId
     * @return
     */
    List<Integer> findAgentIdByModelId(int modelId);

    /**
     * 通过工具 id集合查找关联的AgentId
     *
     * @param toolIds
     * @param toolType 工具类型
     * @return
     */
    List<Integer> findAgentIdByToolIds(@Param("toolIds") List<Integer> toolIds, @Param("toolType") String toolType);

}
